1
Sức mạnh của sự tự nhận thức
AI035Lesson 15
00:00

Trong Ruby, mã nguồn không chỉ là một tập tin tĩnh—nó là một hệ thống sống động. Sự tự nhận thức là sức mạnh siêu việt giúp các đối tượng sở hữu 'kiến thức về bản thân', biến chúng từ những hộp đen thành bản đồ tìm kiếm chức năng. Ngay cả các giá trị trực tiếp như số nguyên cũng có thể được kiểm tra về dòng dõi và khả năng tại thời điểm chạy chương trình.

1. Giao diện sống động

Bằng cách gọi obj.methods(regular=true), ta truy cập toàn bộ từ vựng chức năng của đối tượng. Một đối tượng Range đơn giản (r = 1..10) cho thấy một con số đáng kinh ngạc là 68 phương thức khác nhau, phản ánh sự kế thừa phong phú từ ObjectEnumerable tính kế thừa.

Thanh bên [A]MảngAtan2Tự tảiLớp Mảng < Đối tượngEnumerableKý hiệu phương thức: Array#packĐầu vào: chuỗi mẫuĐầu ra: Chuỗi nhị phân

2. Phát hiện động

Phương thức respond_to? chức năng hoạt động như người giữ cửa tại thời điểm chạy, cho phép Kiểu chim vịt. Thay vì hỏi 'Bạn là gì?', ta hỏi 'Bạn có thể làm điều này không?'. Sự linh hoạt này cho phép chương trình thích nghi dựa trên khả năng thực tế, chẳng hạn như kiểm tra xem một chuỗi có phản hồi với các ký hiệu giống như gán giá trị (=) hay một giá trị số có hỗ trợ một yêu cầu cụ thể về Truy vấn cấp bậc.

3. Cầu nối giữa tài liệu siêu cấp

Các công cụ như RDoc sử dụng các tính năng này để tạo ra các bố cục danh sách theo thứ tự bảng chữ cái và sơ đồ ký hiệu phương thức một cách tự động. Bằng cách truy vấn hằng số moduleBiến thể hiện, các nhà phát triển có thể duyệt cấu trúc không gian tên toàn bộ một cách lập trình, khép kín khoảng cách giữa các tệp nguồn và quá trình thực thi đang hoạt động.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>